課程資訊
課程名稱
類神經網路
Neural Networks 
開課學期
108-1 
授課對象
電機資訊學院  資訊工程學研究所  
授課教師
劉長遠 
課號
CSIE5052 
課程識別碼
922 U1180 
班次
 
學分
3.0 
全/半年
半年 
必/選修
選修 
上課時間
星期三7,8,9(14:20~17:20) 
上課地點
資105 
備註
限學士班三年級以上
總人數上限:40人 
Ceiba 課程網頁
http://ceiba.ntu.edu.tw/1081CSIE5052_NN 
課程簡介影片
 
核心能力關聯
核心能力與課程規劃關聯圖
課程大綱
為確保您我的權利,請尊重智慧財產權及不得非法影印
課程概述

Neural Networks
Syllabus:
Foundation
Perceptron
Multi-Layer Perceptron (MLP) plus tiling algorithm
Hopfield model
Elman Network
Self-Organizing Map (SOM)
Reinforcement learning (RL)

Lecture notes on Neural Networks, Cheng-Yuan Liou
see Class Websites:
https://www.csie.ntu.edu.tw/~cyliou/red/NN/Classinfo/classinfo.html
 

課程目標
classification, recognition, learning

註: 要加選同學請自行上網加選

助教 r07922039 陳耘志 r07922039@ntu.edu.tw 
課程要求
Basic Calculus
作業 一,,作業 三 ,,與 project 任一題作完整 學期成績 B
任兩題作完整 學期成績 A-

作業 一第ㄧ部分(I)
tiling algorithm
code + ppt in
https://www.csie.ntu.edu.tw/~cyliou/red/NN/Demo/demo.html
paper in
https://pdfs.semanticscholar.org/a8c9/c463b17a63380f3dd0d62e034d9c76411de2.pd做出 paper 內的 Table 1數據

作業 一第二部分 (II)
Uni-perceptron (augmented bi-perceptron)

Data set MNIST 數量{ pn , n=1 ~ 60000=N} , 多少屬性 D=28 X 28 pixels (B/W)
https://scidm.nchc.org.tw/dataset/mnist 手寫字
J=10 classes {C0, C1, C2, .., Cj, … , CJ=9}

步驟一
為每一個 pattern, pn∈ Cj , 找出屬於他的兩個集合 { pn1} 和 { pn 2}. { pn1} 含 784 個與pn 最近的patterns, pm ,但不屬於 pn的Class Cj,
{ pn1}={pm , m=1~784 | pm∉ Cj }.
做一個 hyperplane (784 dimensions)通過這 784個最近的 patterns, { pn1} . hyperplane 在 pn 的那一邊設定為為正號.

步驟二
{ pn 2} 含所有為正號的 patterns 且屬於Cj (與 pn在此hyperplane
同一邊). 正號的 patterns 數量為 |{ pn 2}| .
因此一共有 60000 個 { pn1} 和 60000 { pn 2}.

步驟三
找出{ pn 2}內與此hyperplane最近的一個 pattern, pu∈{ pn 2} 將此hyperplane 平移到距此 pu一半的距離, 自pu作法線垂直於此 hyperplane.

步驟四
對任一class Cj 選 max{|{ pn 2}|; pn ∈ Cj }值為最大的集合 { pn 2}1 定出其平移後的hyperplane 為第一個得出的perceptron 的weights.
之後將集合 { pn 2} 內的patterns 從class Cj中剔除 從剩餘的集合內找出最大的集合, max{|{ pn 2}|; pn ∈ Cj and pn ∉ { pn 2}1}, { pn 2}2 定出其平移後的hyperplane 為第二個得出的perceptron 的weights. 注意 { pn 2}1∩{ pn 2}2 =.Ø
依此類推找出最少數量的幾個perceptron or neurons
{{ pn 2}1 , { pn 2}2 ,{ pn 2}3 ,…; { pn 2}a∩{ pn 2}b =.Ø for a≠b} 含所有Cj 內的 patterns , 這幾個 { pn2}a 之一與其對應的 hyperplane or perceptron 會對任一Cj 內的pattern 輸出為 正號 但對其他classes 的 所有patterns輸出為 負號 . (選最大集合及消去法 類似於 Chapter 3 內 bi-perceptron 最少量幾個寬帶狀 strips )


作業二 reinforcement learning
code + 說明 在
https://www.csie.ntu.edu.tw/~cyliou/red/NN/Homework/2012/hw3.pdf
https://www.csie.ntu.edu.tw/~cyliou/red/NN/Homework/2012/hw3.pdf

作業三 Chapter 5 SIR-kernel
做出 Figures 5,6,7 in Chapter 5
做出 page 20 in ppt of SIR-kernel
https://www.csie.ntu.edu.tw/~cyliou/red/publications/ICONIP2008/ICONIP2008_87_ppt.pdf

https://www.csie.ntu.edu.tw/~cyliou/red/NN/Homework/2012/hw2.pdf
code in
https://www.csie.ntu.edu.tw/~cyliou/red/NN/Classinfo/classinfo.html


**** Project Chapter 6 ‘ETAM’ Eq.(7---12)

Project Chapter 6 ‘ETAM’ Eq.(7---12)
Code in https://www.csie.ntu.edu.tw/~cyliou/red/demo/hairy/index.html
'et-AM' ! 'C code' + 'M file'

Data set MNIST 數量P=60000 , 多少屬性 N=28 X 28 pixels (B/W)
Training dataset=55000 ; Testing dataset=5000.

Part I
https://scidm.nchc.org.tw/dataset/mnist 手寫字
Window size = 5 X 5 pixels (convolution)
Total neurons = 28 X 28=784 in square grid points
Total weights
=784 X 5 X 5 (including 4 edges and 4 corners) + 784 thresholds
Note: delete all weights outside the window for each neuron
Note that wij ≠ wji and wii≠0

Part II
Augument one standard digit for each handwritten digit in the dataset, see the 10 digits with 96 pixels (8X12) in Chapter 6.
Total neurons for the layer = 784 + 96
Total weights = 784 X 25 + 784 (thresholds) + 784 X 96 + 96X96+
96 (thresholds)
Then apply the algorithm in ETAM’ Eq.(7---12) training the neural network.
Any testing data will be associated with an unknown pattern, 96 pixels,
that has assigned with 96 ‘0’ as input..
Note that wij ≠ wji and wii≠0
** CNN hard for rotation and scale invariance.
Solved by vastly enlarging the dataset with different
rotations and/scales of patterns
** 4 X 2 replications of the saved dataset 圍棋 in training
 
預期每週課後學習時數
 
Office Hours
另約時間 備註: 要預約 
指定閱讀
https://www.csie.ntu.edu.tw/~cyliou/red/NN/Classinfo/classinfo.html 
參考書目
https://www.csie.ntu.edu.tw/~cyliou/red/NN/Classinfo/classinfo.html 
評量方式
(僅供參考)
 
No.
項目
百分比
說明
1. 
三個作業 + project + 出席 + 測驗 
100% 
 
 
課程進度
週次
日期
單元主題
第1週
9/11  Perceptron
Foundation plus introduction in Chapter 1
tiling algorithm + bi-perceptron + uni-perceptron 
第2週
9/18  Chapter 4 MLP + NetTalk  
第3週
9/25  MLP + reinforcement learning 
第4週
10/02  reinforcement learning
繳交 作業 一 
第5週
10/09  Hopfield model
Boltzmann machine 
第6週
10/16  Restrict Boltzmann machine
Hinton's deep learning 
第7週
10/23  Chapter 6 in Lecture note
繳交 作業 二 
第8週
10/30  Elman network 
第9週
11/06  Elman network

read paper
J.35. Cheng-Yuan Liou, Chen-Wei Cheng, Jiun-Wei Liou, and Daw-Ran Liou, Autoencoder for Words, Neurocomputing, vol. 139, pages 84-96, 2014.
https://www.csie.ntu.edu.tw/~cyliou/red/Publications.htm 
第10週
11/13  SOM 原理ˇ 
第11週
11/20  SOM + applications
繳交 作業 三 
第12週
11/27  J.9 SOM principle
J.13 FTF 
第13週
12/04  C. 17
learning algorithm for cellular automata
neocognitron
RL
 
第14週
12/11  RL Sutton
AI Darwin's evolution  
第15週
12/18  繳交 project 
第16週
12/25  測驗 + 繳所有作業與 project 最終版 
第17週
1/01  No class